import UIKit

extension QKC where AA :UIViewController {
    open func view_qk_s(_ view:  UIView) -> QKC<AA,YY,ZZ, UIView>{
		return link(next: view).then_QK { $0.value.view = view }
	}
    open func view_qk_g() -> QKC<AA,YY,ZZ, UIView>{
		 self +^ self.value.view
	}

    @available(iOS 9.0, *)
    open func viewIfLoaded_qk_g() -> QKC<AA,YY,ZZ, UIView? >{
		 self +^ self.value.viewIfLoaded
	}

    @available(iOS 3.0, *)
    open func isViewLoaded_qk_g() -> QKC<AA,YY,ZZ, Bool >{
		 self +^ self.value.isViewLoaded
	}

    open func nibName_qk_g() -> QKC<AA,YY,ZZ, String? >{
		 self +^ self.value.nibName
	}

    open func nibBundle_qk_g() -> QKC<AA,YY,ZZ, Bundle? >{
		 self +^ self.value.nibBundle
	}

    @available(iOS 5.0, *)
    open func storyboard_qk_g() -> QKC<AA,YY,ZZ, UIStoryboard? >{
		 self +^ self.value.storyboard
	}

    open func title_qk_s(_ title:  String?) -> QKC<AA,YY,ZZ, String?>{
		return link(next: title).then_QK { $0.value.title = title }
	}
    open func title_qk_g() -> QKC<AA,YY,ZZ, String?>{
		 self +^ self.value.title
	}

     open func parent_qk_g() -> QKC<AA,YY,ZZ, UIViewController? >{
		 self +^ self.value.parent
	}

    @available(iOS 5.0, *)
    open func presentedViewController_qk_g() -> QKC<AA,YY,ZZ, UIViewController? >{
		 self +^ self.value.presentedViewController
	}

    @available(iOS 5.0, *)
    open func presentingViewController_qk_g() -> QKC<AA,YY,ZZ, UIViewController? >{
		 self +^ self.value.presentingViewController
	}

    @available(iOS 5.0, *)
    open func definesPresentationContext_qk_s(_ definesPresentationContext:  Bool) -> QKC<AA,YY,ZZ, Bool>{
		return link(next: definesPresentationContext).then_QK { $0.value.definesPresentationContext = definesPresentationContext }
	}
    @available(iOS 5.0, *)
    open func definesPresentationContext_qk_g() -> QKC<AA,YY,ZZ, Bool>{
		 self +^ self.value.definesPresentationContext
	}

    @available(iOS 5.0, *)
    open func providesPresentationContextTransitionStyle_qk_s(_ providesPresentationContextTransitionStyle:  Bool) -> QKC<AA,YY,ZZ, Bool>{
		return link(next: providesPresentationContextTransitionStyle).then_QK { $0.value.providesPresentationContextTransitionStyle = providesPresentationContextTransitionStyle }
	}
    @available(iOS 5.0, *)
    open func providesPresentationContextTransitionStyle_qk_g() -> QKC<AA,YY,ZZ, Bool>{
		 self +^ self.value.providesPresentationContextTransitionStyle
	}

    @available(iOS 10.0, *)
    open func restoresFocusAfterTransition_qk_s(_ restoresFocusAfterTransition:  Bool) -> QKC<AA,YY,ZZ, Bool>{
		return link(next: restoresFocusAfterTransition).then_QK { $0.value.restoresFocusAfterTransition = restoresFocusAfterTransition }
	}
    @available(iOS 10.0, *)
    open func restoresFocusAfterTransition_qk_g() -> QKC<AA,YY,ZZ, Bool>{
		 self +^ self.value.restoresFocusAfterTransition
	}

    @available(iOS 5.0, *)
    open func isBeingPresented_qk_g() -> QKC<AA,YY,ZZ, Bool >{
		 self +^ self.value.isBeingPresented
	}

    @available(iOS 5.0, *)
    open func isBeingDismissed_qk_g() -> QKC<AA,YY,ZZ, Bool >{
		 self +^ self.value.isBeingDismissed
	}

    @available(iOS 5.0, *)
    open func isMovingToParent_qk_g() -> QKC<AA,YY,ZZ, Bool >{
        self +^ self.value.isMovingToParentViewController
	}

    @available(iOS 5.0, *)
    open func isMovingFromParent_qk_g() -> QKC<AA,YY,ZZ, Bool >{
        self +^ self.value.isMovingFromParentViewController
	}

    @available(iOS 3.0, *)
    open func modalTransitionStyle_qk_s(_ modalTransitionStyle:  UIModalTransitionStyle) -> QKC<AA,YY,ZZ, UIModalTransitionStyle>{
		return link(next: modalTransitionStyle).then_QK { $0.value.modalTransitionStyle = modalTransitionStyle }
	}
    @available(iOS 3.0, *)
    open func modalTransitionStyle_qk_g() -> QKC<AA,YY,ZZ, UIModalTransitionStyle>{
		 self +^ self.value.modalTransitionStyle
	}

    @available(iOS 3.2, *)
    open func modalPresentationStyle_qk_s(_ modalPresentationStyle:  UIModalPresentationStyle) -> QKC<AA,YY,ZZ, UIModalPresentationStyle>{
		return link(next: modalPresentationStyle).then_QK { $0.value.modalPresentationStyle = modalPresentationStyle }
	}
    @available(iOS 3.2, *)
    open func modalPresentationStyle_qk_g() -> QKC<AA,YY,ZZ, UIModalPresentationStyle>{
		 self +^ self.value.modalPresentationStyle
	}

    @available(iOS 7.0, *)
    open func modalPresentationCapturesStatusBarAppearance_qk_s(_ modalPresentationCapturesStatusBarAppearance:  Bool) -> QKC<AA,YY,ZZ, Bool>{
		return link(next: modalPresentationCapturesStatusBarAppearance).then_QK { $0.value.modalPresentationCapturesStatusBarAppearance = modalPresentationCapturesStatusBarAppearance }
	}
    @available(iOS 7.0, *)
    open func modalPresentationCapturesStatusBarAppearance_qk_g() -> QKC<AA,YY,ZZ, Bool>{
		 self +^ self.value.modalPresentationCapturesStatusBarAppearance
	}

    @available(iOS 4.3, *)
    open func disablesAutomaticKeyboardDismissal_qk_g() -> QKC<AA,YY,ZZ, Bool >{
		 self +^ self.value.disablesAutomaticKeyboardDismissal
	}

    @available(iOS 7.0, *)
    open func edgesForExtendedLayout_qk_s(_ edgesForExtendedLayout:  UIRectEdge) -> QKC<AA,YY,ZZ, UIRectEdge>{
		return link(next: edgesForExtendedLayout).then_QK { $0.value.edgesForExtendedLayout = edgesForExtendedLayout }
	}
    @available(iOS 7.0, *)
    open func edgesForExtendedLayout_qk_g() -> QKC<AA,YY,ZZ, UIRectEdge>{
		 self +^ self.value.edgesForExtendedLayout
	}

    @available(iOS 7.0, *)
    open func extendedLayoutIncludesOpaqueBars_qk_s(_ extendedLayoutIncludesOpaqueBars:  Bool) -> QKC<AA,YY,ZZ, Bool>{
		return link(next: extendedLayoutIncludesOpaqueBars).then_QK { $0.value.extendedLayoutIncludesOpaqueBars = extendedLayoutIncludesOpaqueBars }
	}
    @available(iOS 7.0, *)
    open func extendedLayoutIncludesOpaqueBars_qk_g() -> QKC<AA,YY,ZZ, Bool>{
		 self +^ self.value.extendedLayoutIncludesOpaqueBars
	}

    @available(iOS, introduced: 7.0, deprecated: 11.0, message: "Use UIScrollView's contentInsetAdjustmentBehavior instead")
    open func automaticallyAdjustsScrollViewInsets_qk_s(_ automaticallyAdjustsScrollViewInsets:  Bool) -> QKC<AA,YY,ZZ, Bool>{
		return link(next: automaticallyAdjustsScrollViewInsets).then_QK { $0.value.automaticallyAdjustsScrollViewInsets = automaticallyAdjustsScrollViewInsets }
	}
    @available(iOS, introduced: 7.0, deprecated: 11.0, message: "Use UIScrollView's contentInsetAdjustmentBehavior instead")
    open func automaticallyAdjustsScrollViewInsets_qk_g() -> QKC<AA,YY,ZZ, Bool>{
		 self +^ self.value.automaticallyAdjustsScrollViewInsets
	}

    @available(iOS 7.0, *)
    open func preferredContentSize_qk_s(_ preferredContentSize:  CGSize) -> QKC<AA,YY,ZZ, CGSize>{
		return link(next: preferredContentSize).then_QK { $0.value.preferredContentSize = preferredContentSize }
	}
    @available(iOS 7.0, *)
    open func preferredContentSize_qk_g() -> QKC<AA,YY,ZZ, CGSize>{
		 self +^ self.value.preferredContentSize
	}

    @available(iOS 7.0, *)
    open func preferredStatusBarStyle_qk_g() -> QKC<AA,YY,ZZ, UIStatusBarStyle >{
		 self +^ self.value.preferredStatusBarStyle
	}

    @available(iOS 7.0, *)
    open func prefersStatusBarHidden_qk_g() -> QKC<AA,YY,ZZ, Bool >{
		 self +^ self.value.prefersStatusBarHidden
	}

    @available(iOS 7.0, *)
    open func preferredStatusBarUpdateAnimation_qk_g() -> QKC<AA,YY,ZZ, UIStatusBarAnimation >{
		 self +^ self.value.preferredStatusBarUpdateAnimation
	}

    @available(iOS 13.0, *)
    open func overrideUserInterfaceStyle_qk_s(_ overrideUserInterfaceStyle:  UIUserInterfaceStyle) -> QKC<AA,YY,ZZ, UIUserInterfaceStyle>{
		return link(next: overrideUserInterfaceStyle).then_QK { $0.value.overrideUserInterfaceStyle = overrideUserInterfaceStyle }
	}
    @available(iOS 13.0, *)
    open func overrideUserInterfaceStyle_qk_g() -> QKC<AA,YY,ZZ, UIUserInterfaceStyle>{
		 self +^ self.value.overrideUserInterfaceStyle
	}

    open func loadView_qk_f() -> QKC<AA,YY,ZZ,Void>{
		 self +^ self.value.loadView()
	}

    @available(iOS 9.0, *)
    open func loadViewIfNeeded_qk_f() -> QKC<AA,YY,ZZ,Void>{
		 self +^ self.value.loadViewIfNeeded()
	}

    open func viewDidLoad_qk_f() -> QKC<AA,YY,ZZ,Void>{
		 self +^ self.value.viewDidLoad()
	}

    @available(iOS 5.0, *)
    open func performSegue_qk_f(withIdentifier identifier: String, sender: Any?) -> QKC<AA,YY,ZZ, String>{
		 self +^ self.value.performSegue(withIdentifier:identifier, sender:sender) +^ identifier
	}

    @available(iOS 6.0, *)
    open func shouldPerformSegue_qk_f(withIdentifier identifier: String, sender: Any?) -> QKC<AA,YY,ZZ,Bool>{
		 self +^ self.value.shouldPerformSegue(withIdentifier:identifier, sender:sender)
	}

    @available(iOS 5.0, *)
    open func prepare_qk_f(for segue: UIStoryboardSegue, sender: Any?) -> QKC<AA,YY,ZZ, UIStoryboardSegue>{
		 self +^ self.value.prepare(for:segue, sender:sender) +^ segue
	}

    @available(iOS 13.0, *)
    open func canPerformUnwindSegueAction_qk_f(_ action: Selector, from fromViewController: UIViewController, sender: Any?) -> QKC<AA,YY,ZZ,Bool>{
		 self +^ self.value.canPerformUnwindSegueAction(action, from:fromViewController, sender:sender)
	}

    @available(iOS, introduced: 6.0, deprecated: 13.0)
    open func canPerformUnwindSegueAction_qk_f(_ action: Selector, from fromViewController: UIViewController, withSender sender: Any) -> QKC<AA,YY,ZZ,Bool>{
		 self +^ self.value.canPerformUnwindSegueAction(action, from:fromViewController, withSender:sender)
	}

    @available(iOS 9.0, *)
    open func allowedChildrenForUnwinding_qk_f(from source: UIStoryboardUnwindSegueSource) -> QKC<AA,YY,ZZ,[UIViewController]>{
        self +^ self.value.allowedChildViewControllersForUnwinding(from:source)
	}

    @available(iOS 9.0, *)
    open func childContaining_qk_f(_ source: UIStoryboardUnwindSegueSource) -> QKC<AA,YY,ZZ,UIViewController?>{
        self +^ self.value.childViewControllerContaining(source)
	}

    @available(iOS, introduced: 6.0, deprecated: 9.0)
    open func forUnwindSegueAction_qk_f(_ action: Selector, from fromViewController: UIViewController, withSender sender: Any?) -> QKC<AA,YY,ZZ,UIViewController?>{
		 self +^ self.value.forUnwindSegueAction(action, from:fromViewController, withSender:sender)
	}

    @available(iOS 9.0, *)
    open func unwind_qk_f(for unwindSegue: UIStoryboardSegue, towards subsequentVC: UIViewController) -> QKC<AA,YY,ZZ, UIStoryboardSegue>{
        self +^ self.value.unwind(for:unwindSegue, towardsViewController:subsequentVC) +^ unwindSegue
	}

    @available(iOS, introduced: 6.0, deprecated: 9.0)
    open func segueForUnwinding_qk_f(to toViewController: UIViewController, from fromViewController: UIViewController, identifier: String?) -> QKC<AA,YY,ZZ,UIStoryboardSegue?>{
		 self +^ self.value.segueForUnwinding(to:toViewController, from:fromViewController, identifier:identifier)
	}

    open func viewWillAppear_qk_f(_ animated: Bool) -> QKC<AA,YY,ZZ, Bool>{
		 self +^ self.value.viewWillAppear(animated) +^ animated
	}

    open func viewDidAppear_qk_f(_ animated: Bool) -> QKC<AA,YY,ZZ, Bool>{
		 self +^ self.value.viewDidAppear(animated) +^ animated
	}

    open func viewWillDisappear_qk_f(_ animated: Bool) -> QKC<AA,YY,ZZ, Bool>{
		 self +^ self.value.viewWillDisappear(animated) +^ animated
	}

    open func viewDidDisappear_qk_f(_ animated: Bool) -> QKC<AA,YY,ZZ, Bool>{
		 self +^ self.value.viewDidDisappear(animated) +^ animated
	}

    @available(iOS 5.0, *)
    open func viewWillLayoutSubviews_qk_f() -> QKC<AA,YY,ZZ,Void>{
		 self +^ self.value.viewWillLayoutSubviews()
	}

    @available(iOS 5.0, *)
    open func viewDidLayoutSubviews_qk_f() -> QKC<AA,YY,ZZ,Void>{
		 self +^ self.value.viewDidLayoutSubviews()
	}

    open func didReceiveMemoryWarning_qk_f() -> QKC<AA,YY,ZZ,Void>{
		 self +^ self.value.didReceiveMemoryWarning()
	}

    @available(iOS 5.0, *)
    open func present_qk_f(_ viewControllerToPresent: UIViewController, animated flag: Bool, completion: (() -> Void)? = nil) -> QKC<AA,YY,ZZ, UIViewController>{
		 self +^ self.value.present(viewControllerToPresent, animated:flag, completion:completion) +^ viewControllerToPresent
	}

    @available(iOS 5.0, *)
    open func dismiss_qk_f(animated flag: Bool, completion: (() -> Void)? = nil) -> QKC<AA,YY,ZZ, Bool>{
		 self +^ self.value.dismiss(animated:flag, completion:completion) +^ flag
	}

    @available(iOS 7.0, *)
    open func setNeedsStatusBarAppearanceUpdate_qk_f() -> QKC<AA,YY,ZZ,Void>{
		 self +^ self.value.setNeedsStatusBarAppearanceUpdate()
	}

    @available(iOS 8.0, *)
    open func targetViewController_qk_f(forAction action: Selector, sender: Any?) -> QKC<AA,YY,ZZ,UIViewController?>{
		 self +^ self.value.targetViewController(forAction:action, sender:sender)
	}

    @available(iOS 8.0, *)
    open func show_qk_f(_ vc: UIViewController, sender: Any?) -> QKC<AA,YY,ZZ, UIViewController>{
		 self +^ self.value.show(vc, sender:sender) +^ vc
	}

    @available(iOS 8.0, *)
    open func showDetailViewController_qk_f(_ vc: UIViewController, sender: Any?) -> QKC<AA,YY,ZZ, UIViewController>{
		 self +^ self.value.showDetailViewController(vc, sender:sender) +^ vc
	}

}

extension QKC where AA :UIViewController {
    open func isEditing_qk_s(_ isEditing:  Bool) -> QKC<AA,YY,ZZ, Bool>{
		return link(next: isEditing).then_QK { $0.value.isEditing = isEditing }
	}
    open func isEditing_qk_g() -> QKC<AA,YY,ZZ, Bool>{
		 self +^ self.value.isEditing
	}

    open func editButtonItem_qk_g() -> QKC<AA,YY,ZZ, UIBarButtonItem >{
		 self +^ self.value.editButtonItem
	}

    open func setEditing_qk_f(_ editing: Bool, animated: Bool) -> QKC<AA,YY,ZZ, Bool>{
		 self +^ self.value.setEditing(editing, animated:animated) +^ editing
	}

}

extension QKC where AA :UIViewController {
	// An array of children view controllers. This array does not include any presented view controllers.
    @available(iOS 5.0, *)
    open func children_qk_g() -> QKC<AA,YY,ZZ, [UIViewController] >{
        self +^ self.value.childViewControllers
	}

	// Override to return a child view controller or nil. If non-nil, that view controller's status bar appearance attributes will be used. If nil, self is used. Whenever the return values from these methods change, -setNeedsStatusBarAppearanceUpdate should be called.
    @available(iOS 7.0, *)
    open func childForStatusBarStyle_qk_g() -> QKC<AA,YY,ZZ, UIViewController? >{
        self +^ self.value.childViewControllerForStatusBarStyle
	}

    @available(iOS 7.0, *)
    open func childForStatusBarHidden_qk_g() -> QKC<AA,YY,ZZ, UIViewController? >{
        self +^ self.value.childViewControllerForStatusBarHidden
	}

    @available(iOS 5.0, *)
    open func addChild_qk_f(_ childController: UIViewController) -> QKC<AA,YY,ZZ, UIViewController>{
        self +^ self.value.addChildViewController(childController) +^ childController
	}

    @available(iOS 5.0, *)
    open func removeFromParent_qk_f() -> QKC<AA,YY,ZZ,Void>{
        self +^ self.value.removeFromParentViewController()
	}

    @available(iOS 5.0, *)
    open func transition_qk_f(from fromViewController: UIViewController, to toViewController: UIViewController, duration: TimeInterval, options: UIView.AnimationOptions = [], animations: (() -> Void)?, completion: ((Bool) -> Void)? = nil) -> QKC<AA,YY,ZZ, UIViewController>{
		 self +^ self.value.transition(from:fromViewController, to:toViewController, duration:duration, options:options, animations:animations, completion:completion) +^ fromViewController
	}

	// now tied to the final matching invocation of endAppearanceTransition.
    @available(iOS 5.0, *)
    open func beginAppearanceTransition_qk_f(_ isAppearing: Bool, animated: Bool) -> QKC<AA,YY,ZZ, Bool>{
		 self +^ self.value.beginAppearanceTransition(isAppearing, animated:animated) +^ isAppearing
	}

    @available(iOS 5.0, *)
    open func endAppearanceTransition_qk_f() -> QKC<AA,YY,ZZ,Void>{
		 self +^ self.value.endAppearanceTransition()
	}

	// Call to modify the trait collection for child view controllers.
    @available(iOS 8.0, *)
    open func setOverrideTraitCollection_qk_f(_ collection: UITraitCollection?, forChild childViewController: UIViewController) -> QKC<AA,YY,ZZ, UITraitCollection?>{
        self +^ self.value.setOverrideTraitCollection(collection, forChildViewController:childViewController) +^ collection
	}

    @available(iOS 8.0, *)
    open func overrideTraitCollection_qk_f(forChild childViewController: UIViewController) -> QKC<AA,YY,ZZ,UITraitCollection?>{
        self +^ self.value.overrideTraitCollection(forChildViewController:childViewController)
	}

}

extension QKC where AA :UIViewController {
    @available(iOS 6.0, *)
    open func shouldAutomaticallyForwardAppearanceMethods_qk_g() -> QKC<AA,YY,ZZ, Bool >{
		 self +^ self.value.shouldAutomaticallyForwardAppearanceMethods
	}

    @available(iOS, introduced: 6.0, deprecated: 8.0, message: "Manually forward viewWillTransitionToSize:withTransitionCoordinator: if necessary")
    open func shouldAutomaticallyForwardRotationMethods_qk_f() -> QKC<AA,YY,ZZ,Bool>{
		 self +^ self.value.shouldAutomaticallyForwardRotationMethods()
	}

    @available(iOS 5.0, *)
    open func willMove_qk_f(toParent parent: UIViewController?) -> QKC<AA,YY,ZZ, UIViewController?>{
        self +^ self.value.willMove(toParentViewController:parent) +^ parent
	}

    @available(iOS 5.0, *)
    open func didMove_qk_f(toParent parent: UIViewController?) -> QKC<AA,YY,ZZ, UIViewController?>{
        self +^ self.value.didMove(toParentViewController:parent) +^ parent
	}

}

extension QKC where AA :UIViewController {
    @available(iOS 6.0, *)
    open func restorationIdentifier_qk_s(_ restorationIdentifier:  String?) -> QKC<AA,YY,ZZ, String?>{
		return link(next: restorationIdentifier).then_QK { $0.value.restorationIdentifier = restorationIdentifier }
	}
    @available(iOS 6.0, *)
    open func restorationIdentifier_qk_g() -> QKC<AA,YY,ZZ, String?>{
		 self +^ self.value.restorationIdentifier
	}

    @available(iOS 6.0, *)
    open func restorationClass_qk_s(_ restorationClass:  UIViewControllerRestoration.Type?) -> QKC<AA,YY,ZZ, UIViewControllerRestoration.Type?>{
		return link(next: restorationClass).then_QK { $0.value.restorationClass = restorationClass }
	}
    @available(iOS 6.0, *)
    open func restorationClass_qk_g() -> QKC<AA,YY,ZZ, UIViewControllerRestoration.Type?>{
		 self +^ self.value.restorationClass
	}

    @available(iOS 6.0, *)
    open func encodeRestorableState_qk_f(with coder: NSCoder) -> QKC<AA,YY,ZZ, NSCoder>{
		 self +^ self.value.encodeRestorableState(with:coder) +^ coder
	}

    @available(iOS 6.0, *)
    open func decodeRestorableState_qk_f(with coder: NSCoder) -> QKC<AA,YY,ZZ, NSCoder>{
		 self +^ self.value.decodeRestorableState(with:coder) +^ coder
	}

    @available(iOS 7.0, *)
    open func applicationFinishedRestoringState_qk_f() -> QKC<AA,YY,ZZ,Void>{
		 self +^ self.value.applicationFinishedRestoringState()
	}

}

extension QKC where AA :UIViewController {
    @available(iOS 6.0, *)
    open func updateViewConstraints_qk_f() -> QKC<AA,YY,ZZ,Void>{
		 self +^ self.value.updateViewConstraints()
	}

}

extension QKC where AA :UIViewController {
    @available(iOS 7.0, *)
     open func transitioningDelegate_qk_s(_ transitioningDelegate:  UIViewControllerTransitioningDelegate?) -> QKC<AA,YY,ZZ, UIViewControllerTransitioningDelegate?>{
		return link(next: transitioningDelegate).then_QK { $0.value.transitioningDelegate = transitioningDelegate }
	}
    @available(iOS 7.0, *)
     open func transitioningDelegate_qk_g() -> QKC<AA,YY,ZZ, UIViewControllerTransitioningDelegate?>{
		 self +^ self.value.transitioningDelegate
	}

}

extension QKC where AA :UIViewController {
	// These objects may be used as layout items in the NSLayoutConstraint API
    @available(iOS, introduced: 7.0, deprecated: 11.0, message: "Use view.safeAreaLayoutGuide.topAnchor instead of topLayoutGuide.bottomAnchor")
    open func topLayoutGuide_qk_g() -> QKC<AA,YY,ZZ, UILayoutSupport >{
		 self +^ self.value.topLayoutGuide
	}

    @available(iOS, introduced: 7.0, deprecated: 11.0, message: "Use view.safeAreaLayoutGuide.bottomAnchor instead of bottomLayoutGuide.topAnchor")
    open func bottomLayoutGuide_qk_g() -> QKC<AA,YY,ZZ, UILayoutSupport >{
		 self +^ self.value.bottomLayoutGuide
	}

    @available(iOS 11.0, *)
    open func additionalSafeAreaInsets_qk_s(_ additionalSafeAreaInsets:  UIEdgeInsets) -> QKC<AA,YY,ZZ, UIEdgeInsets>{
		return link(next: additionalSafeAreaInsets).then_QK { $0.value.additionalSafeAreaInsets = additionalSafeAreaInsets }
	}
    @available(iOS 11.0, *)
    open func additionalSafeAreaInsets_qk_g() -> QKC<AA,YY,ZZ, UIEdgeInsets>{
		 self +^ self.value.additionalSafeAreaInsets
	}

    @available(iOS 11.0, *)
    open func systemMinimumLayoutMargins_qk_g() -> QKC<AA,YY,ZZ, NSDirectionalEdgeInsets >{
		 self +^ self.value.systemMinimumLayoutMargins
	}

    @available(iOS 11.0, *)
    open func viewRespectsSystemMinimumLayoutMargins_qk_s(_ viewRespectsSystemMinimumLayoutMargins:  Bool) -> QKC<AA,YY,ZZ, Bool>{
		return link(next: viewRespectsSystemMinimumLayoutMargins).then_QK { $0.value.viewRespectsSystemMinimumLayoutMargins = viewRespectsSystemMinimumLayoutMargins }
	}
    @available(iOS 11.0, *)
    open func viewRespectsSystemMinimumLayoutMargins_qk_g() -> QKC<AA,YY,ZZ, Bool>{
		 self +^ self.value.viewRespectsSystemMinimumLayoutMargins
	}

    @available(iOS 11.0, *)
    open func viewLayoutMarginsDidChange_qk_f() -> QKC<AA,YY,ZZ,Void>{
		 self +^ self.value.viewLayoutMarginsDidChange()
	}

    @available(iOS 11.0, *)
    open func viewSafeAreaInsetsDidChange_qk_f() -> QKC<AA,YY,ZZ,Void>{
		 self +^ self.value.viewSafeAreaInsetsDidChange()
	}

}

extension QKC where AA :UIViewController {
    @available(iOS 9.0, *)
    open func addKeyCommand_qk_f(_ keyCommand: UIKeyCommand) -> QKC<AA,YY,ZZ, UIKeyCommand>{
		 self +^ self.value.addKeyCommand(keyCommand) +^ keyCommand
	}

    @available(iOS 9.0, *)
    open func removeKeyCommand_qk_f(_ keyCommand: UIKeyCommand) -> QKC<AA,YY,ZZ, UIKeyCommand>{
		 self +^ self.value.removeKeyCommand(keyCommand) +^ keyCommand
	}

}

extension QKC where AA :UIViewController {
	/// Defaults to YES. You can change the default return value by providing a value for UIViewControllerPerformsActionsWhilePresentingModally in your Info.plist file.
    @available(iOS 13.0, *)
    open func performsActionsWhilePresentingModally_qk_g() -> QKC<AA,YY,ZZ, Bool >{
		 self +^ self.value.performsActionsWhilePresentingModally
	}

}

extension QKC where AA :UIViewController {
	// Returns the extension context. Also acts as a convenience method for a view controller to check if it participating in an extension request.
    @available(iOS 8.0, *)
    open func extensionContext_qk_g() -> QKC<AA,YY,ZZ, NSExtensionContext? >{
		 self +^ self.value.extensionContext
	}

}

extension QKC where AA :UIViewController {
    @available(iOS 8.0, *)
    open func presentationController_qk_g() -> QKC<AA,YY,ZZ, UIPresentationController? >{
		 self +^ self.value.presentationController
	}

    @available(iOS 8.0, *)
    open func popoverPresentationController_qk_g() -> QKC<AA,YY,ZZ, UIPopoverPresentationController? >{
		 self +^ self.value.popoverPresentationController
	}

	// modalInPresentation is set on the view controller when you wish to force the presentation hosting the view controller into modal behavior. When this is active, the presentation will prevent interactive dismiss and ignore events outside of the presented view controller's bounds until this is set to NO.
    @available(iOS 13.0, *)
    open func isModalInPresentation_qk_s(_ isModalInPresentation:  Bool) -> QKC<AA,YY,ZZ, Bool>{
		return link(next: isModalInPresentation).then_QK { $0.value.isModalInPresentation = isModalInPresentation }
	}
    @available(iOS 13.0, *)
    open func isModalInPresentation_qk_g() -> QKC<AA,YY,ZZ, Bool>{
		 self +^ self.value.isModalInPresentation
	}

}

extension QKC where AA :UIViewController {
	// Registers a view controller to participate with 3D Touch preview (peek) and commit (pop).
    @available(iOS, introduced: 9.0, deprecated: 13.0, renamed: "UIContextMenuInteraction")
    open func registerForPreviewing_qk_f(with delegate: UIViewControllerPreviewingDelegate, sourceView: UIView) -> QKC<AA,YY,ZZ,UIViewControllerPreviewing>{
		 self +^ self.value.registerForPreviewing(with:delegate, sourceView:sourceView)
	}

    @available(iOS, introduced: 9.0, deprecated: 13.0, renamed: "UIContextMenuInteraction")
    open func unregisterForPreviewing_qk_f(withContext previewing: UIViewControllerPreviewing) -> QKC<AA,YY,ZZ, UIViewControllerPreviewing>{
		 self +^ self.value.unregisterForPreviewing(withContext:previewing) +^ previewing
	}

}

extension QKC where AA :UIViewController {
	
    

	// Controls the application's preferred screen edges deferring system gestures when this view controller is shown. Default is UIRectEdgeNone.
    @available(iOS 11.0, *)
    open func preferredScreenEdgesDeferringSystemGestures_qk_g() -> QKC<AA,YY,ZZ, UIRectEdge >{
        self +^ self.value.preferredScreenEdgesDeferringSystemGestures()
	}

	// This should be called whenever the return values for the view controller's screen edges deferring system gestures have changed.
    @available(iOS 11.0, *)
    open func setNeedsUpdateOfScreenEdgesDeferringSystemGestures_qk_f() -> QKC<AA,YY,ZZ,Void>{
		 self +^ self.value.setNeedsUpdateOfScreenEdgesDeferringSystemGestures()
	}

}

extension QKC where AA :UIViewController {
	
    

	// Controls the application's preferred home indicator auto-hiding when this view controller is shown.
    @available(iOS 11.0, *)
    open func prefersHomeIndicatorAutoHidden_qk_g() -> QKC<AA,YY,ZZ, Bool >{
        self +^ self.value.prefersHomeIndicatorAutoHidden()
	}

	// This should be called whenever the return values for the view controller's home indicator auto-hiding have changed.
    @available(iOS 11.0, *)
    open func setNeedsUpdateOfHomeIndicatorAutoHidden_qk_f() -> QKC<AA,YY,ZZ,Void>{
		 self +^ self.value.setNeedsUpdateOfHomeIndicatorAutoHidden()
	}

}

extension QKC where AA :UIViewController {
    @available(iOS, introduced: 9.0, deprecated: 13.0, message: "UIViewControllerPreviewing is deprecated. Please use UIContextMenuInteraction.")
    open func previewActionItems_qk_g() -> QKC<AA,YY,ZZ, [UIPreviewActionItem] >{
		 self +^ self.value.previewActionItems
	}

}

@available(iOS, introduced: 9.0, deprecated: 13.0, message: "UIViewControllerPreviewing is deprecated. Please use UIContextMenuInteraction.")
extension QKC where AA :UIPreviewAction {
    open func handler_qk_g() -> QKC<AA,YY,ZZ, (UIPreviewActionItem, UIViewController) -> Void >{
		 self +^ self.value.handler
	}

}

